package com.micro.school.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import lombok.Data;
import lombok.ToString;


/**
 * 【请填写功能名称】对象 student_pay
 *
 * @author rakic
 * @date 2025-08-05
 */
@Data
@ToString
@TableName("student_pay")
public class StudentPay
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;

    /** 学生主键 */
    @TableField("student_id")
    private Long studentId;

    /** 缴费金额 */
    @TableField("money")
    private BigDecimal money;

    /** 退费金额 */
    @TableField("refund_money")
    private BigDecimal refundMoney;

    /** 创建时间 */
    @TableField("create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新时间 */
    @TableField("update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 自主缴费 */
    @TableField("self_money")
    private BigDecimal selfMoney;

    /** 缴费时间 */
    @TableField("fee_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date feeTime;

    /** 缴费状态0缴费1退费 */
    @TableField("status")
    private Long status;

    /** 缴费类型（学年） */
    @TableField("money_type")
    private String moneyType;

    /** 支付状态0未支付1已支付2支付失败 */
    @TableField("pay_status")
    private Long payStatus;

    /** 支付类型 */
    @TableField("payment_method")
    private String paymentMethod;

    /** 缴费项目 */
    @TableField("title")
    private String title;

    /** 预缴费 */
    @TableField("before_pay")
    private BigDecimal beforePay;

    /** 退款状态 */
    @TableField("refund_method")
    private String refundMethod;

    @TableField("tenant_id")
    private Integer tenantId;

    @TableField("fee_year_id")
    private Integer feeYearId;

    @TableField("fee_year_name")
    private String feeYearName;


}
